package com.cloud.pole.feign;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.cloud.pole.api.advert.AdvertApi;
import com.cloud.pole.api.weixin.WxUserApi;
import com.cloud.pole.common.constant.ApiConstant;
import com.cloud.pole.common.msg.ApiRestResponse;
import java.util.List;


/**
 * ${DESCRIPTION}
 *
 * @author wanghaobin
 * @create 2017-06-21 8:11
 */
@FeignClient(value = ApiConstant.WEIXIN_SERVICE_ID)
public interface IWeiXinService {
	
  @RequestMapping(value=ApiConstant.WEIXIN_SERVICE_WXPAY_UNIFIEDORDERJSAPI, method = RequestMethod.GET)
  public ApiRestResponse<String> unifiedOrderJsApi(
  		@RequestParam(name="payJoinId", defaultValue = "") Integer payJoinId,
  		@RequestParam(name="outTradeNo", defaultValue = "") String outTradeNo,
  		@RequestParam(name="totalFee", defaultValue = "") Long totalFee,
  		@RequestParam(name="openId", defaultValue = "") String openId,
  		@RequestParam(name="redirectUri", defaultValue = "") String redirectUri);
  
  @RequestMapping(value=ApiConstant.WEIXIN_SERVICE_WXUSER_GETWXUSER, method = RequestMethod.GET)
  public ApiRestResponse<WxUserApi> getWxUser(
  		@RequestParam(name="openId", defaultValue = "") String openId);
 
  @RequestMapping(value=ApiConstant.WEIXIN_SERVICE_MINPROGRAM_GETWXQRCODEUNLIMIT, method = RequestMethod.GET)
  public ApiRestResponse<String> getWxQrCodeUnlimit(
  		  @RequestParam(name="wxAppId", defaultValue = "") Integer wxAppId,
  		  @RequestParam(name="scene", defaultValue = "") String scene,
  		  @RequestParam(name="page", defaultValue = "") String page);
  
}
